perm filename USCSUA.SAI[PIC,TOB] blob sn#224307 filedate 1976-07-08 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	convert usc format to su format files
C00007 ENDMK
C⊗;
comment convert usc format to su format files;
BEGIN "USC TO SU"

  EXTERNAL PROCEDURE BAIL;

  REQUIRE "ABBREV.1D[S1,TOB]" SOURCE_FILE;
  REQUIRE "STD.12H[S1,TOB]" SOURCE_FILE;
  REQUIRE "STD[S1,TOB]" LOAD_MODULE;

  REQUIRE "IOFILE.1E[S1,TOB]" SOURCE_FILE;
  REQUIRE "IOFILE[S1,TOB]" LOAD_MODULE;

  INTEGER INPUT_CHANNEL,OUTPUT_CHANNEL;
  INTEGER BITS,BYTES;
  INTEGER X1,Y1,X2,Y2;
  INTEGER WDS_LINE,SIZE_FILE;
  INTEGER I;

  STRING FILE;
  FILE←OPEN_IN("USC","PIC,HE",INPUT_CHANNEL);
  OPEN_OUT(FILE,"SU","PIC,HE",OUTPUT_CHANNEL);
  
  BITS←8;
  X1←Y1←1;
  X2←Y2←512;
  WRITE(BITS);WRITE(X1);WRITE(X2);WRITE(Y1);WRITE(Y2);
  BAIL;
  WORDOUT(OUTPUT_CHANNEL,-1); comment first word identifier;
  WORDOUT(OUTPUT_CHANNEL,BITS);  comment number of bits;
  BYTES←WORD_SIZE%BITS;  comment bytes per word;
  WDS_LINE←(X2-X1+BYTES)%BYTES;
  WORDOUT(OUTPUT_CHANNEL,WDS_LINE);
  WORDOUT(OUTPUT_CHANNEL,Y1);
  WORDOUT(OUTPUT_CHANNEL,Y2);
  WORDOUT(OUTPUT_CHANNEL,X1);
  WORDOUT(OUTPUT_CHANNEL,X2);
  SIZE_FILE←WDS_LINE*(Y2-Y1+1);
  WORDOUT(OUTPUT_CHANNEL,XWD(-SIZE_FILE,'200));
  FOR I←1 STEP 1 UNTIL 3 DO WORDOUT(OUTPUT_CHANNEL,0);
  FOR I←'13 STEP 1 UNTIL '177 DO WORDOUT(OUTPUT_CHANNEL,0);
  INOUT(INPUT_CHANNEL,OUTPUT_CHANNEL,SIZE_FILE);;
  CLOSE(OUTPUT_CHANNEL);
  END "USC TO SU";